
typedef unsigned char symbol;

/* 或者将上面的 'char' 替换为 'short' 以支持 16 位字符。

   更准确地说，将 'char' 替换为确保所需字符宽度的任何类型。
   但是请注意，sizeof(symbol) 应该能整除
   在 header.h 中定义为 2*sizeof(int) 的 HEAD，而没有余数，否则
   将会出现对齐问题。在这里发生问题的可能性很小，
   请咨询马丁·波特（Martin Porter）。

*/

struct SN_env {
    symbol * p;
    int c; int l; int lb; int bra; int ket;
    symbol * * S;
    int * I;
};

#ifdef __cplusplus
extern "C" {
#endif

extern struct SN_env * SN_create_env(int S_size, int I_size);
extern void SN_close_env(struct SN_env * z, int S_size);

extern int SN_set_current(struct SN_env * z, int size, const symbol * s);

#ifdef __cplusplus
}
#endif
